{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0a9596ad",
   "metadata": {
    "lines_to_next_cell": 0
   },
   "source": [
    "#  15\\.  高斯分布函数实现及绘图  # \n",
    "\n",
    "##  15.1.  介绍  # \n",
    "\n",
    "朴素贝叶斯实验中提到了高斯分布，本次挑战通过 Python 实现高斯分布函数，并使用 Matplotlib 绘制不同参数下的高斯分布图像。 \n",
    "\n",
    "##  15.2.  知识点  # \n",
    "\n",
    "  * 高斯分布公式 \n",
    "\n",
    "  * 高斯分布函数 \n",
    "\n",
    "##  15.3.  高斯分布公式  # \n",
    "\n",
    "在朴素贝叶斯的实验中，我们知道可以依照特征数据类型，在计算先验概率时对朴素贝叶斯模型进行划分，并分为：多项式模型，伯努利模型和高斯模型。而在前面的实验中，我们使用了多项式模型来完成。 \n",
    "\n",
    "很多时候，当我们的特征是连续变量时，运用多项式模型的效果不好。所以，我们通常会采用高斯模型对连续变量进行处理，而高斯模型实际上就是假设连续变量的特征数据是服从高斯分布。其中，高斯分布函数表达式为： \n",
    "\n",
    "$$ P=\\frac{1}{\\sqrt{2\\pi}\\sigma}exp(-\\frac{(x-\\mu) ^{2}}{2\\sigma ^{2}}) \\tag{1} $$ \n",
    "\n",
    "其中  $\\mu$  为均值，  $\\sigma$  为标准差。 \n",
    "\n",
    "Exercise 15.1 \n",
    "\n",
    "挑战：参考高斯分布公式，使用 Python 实现高斯分布函数。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ad8b545a",
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"实现高斯分布函数\n",
    "\"\"\"\n",
    "import numpy as np\n",
    "\n",
    "def Gaussian(x, u, d):\n",
    "    \"\"\"\n",
    "    参数:\n",
    "    x -- 变量\n",
    "    u -- 均值\n",
    "    d -- 标准差\n",
    "\n",
    "    返回:\n",
    "    p -- 高斯分布值\n",
    "    \"\"\"\n",
    "    ### 代码开始 ### (≈ 3~5 行代码)\n",
    "    p = None\n",
    "\n",
    "    return p\n",
    "    ### 代码结束 ###"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e74828ec",
   "metadata": {
    "lines_to_next_cell": 0
   },
   "source": [
    "参考答案  Exercise 15.1 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a468f1ab",
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"实现高斯分布函数\n",
    "\"\"\"\n",
    "import numpy as np\n",
    "\n",
    "def Gaussian(x, u, d):\n",
    "    \"\"\"\n",
    "    参数:\n",
    "    x -- 变量\n",
    "    u -- 均值\n",
    "    d -- 标准差\n",
    "\n",
    "    返回:\n",
    "    p -- 高斯分布值\n",
    "    \"\"\"\n",
    "    ### 代码开始 ### (≈ 3~5 行代码)\n",
    "    d_2 = d * d * 2\n",
    "    zhishu = -(np.square(x - u) / d_2)\n",
    "    exp = np.exp(zhishu)\n",
    "    pi = np.pi\n",
    "    xishu = 1 / (np.sqrt(2 * pi) * d)\n",
    "    p = xishu * exp\n",
    "    return p\n",
    "    ### 代码结束 ###"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "556a5b7b",
   "metadata": {
    "lines_to_next_cell": 0
   },
   "source": [
    "运行测试 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a75c9101",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, np.float64(0.030864654760573856))"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.linspace(-5, 5, 100)\n",
    "u = 3.2\n",
    "d = 5.5\n",
    "g = Gaussian(x, u, d)\n",
    "\n",
    "len(g), g[10]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d600af1b",
   "metadata": {},
   "source": [
    "**-----------以下是代码解释--------------**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5fd00fc8",
   "metadata": {},
   "source": [
    "`x = np.linspace(-5, 5, 100)` 的作用是生成一个从 -5 到 5 的等间距数组，共包含 100 个数值。\n",
    "\n",
    "### 具体功能：\n",
    "1. **`np.linspace(start, stop, num)`**:\n",
    "   - `start`: 数组的起始值（这里是 `-5`）。\n",
    "   - `stop`: 数组的结束值（这里是 `5`）。\n",
    "   - `num`: 数组中包含的元素个数（这里是 `100`）。\n",
    "\n",
    "### 用途：\n",
    "在高斯分布的实现中，`x` 代表变量的取值范围。通过 `np.linspace`，我们可以生成一系列连续的 `x` 值，用于计算对应的高斯分布值并绘制曲线。\n",
    "\n",
    "### 示例：\n",
    "```\n",
    "x = np.linspace(-5, 5, 100)\n",
    "print(x)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "82ec36d1",
   "metadata": {},
   "source": [
    "输出将是一个包含 100 个从 -5 到 5 的等间距数值的数组，例如：\n",
    "\n",
    "[-5.  -4.9 -4.8 ... 4.8  4.9  5. ]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a05dc83",
   "metadata": {},
   "source": [
    "在 `np.linspace(-5, 5, 100)` 中，默认的间距是由起始值 `-5` 和结束值 `5` 之间的范围除以 `(num - 1)` 计算得出的。公式为：\n",
    "\n",
    "\n",
    "间距 = (stop - start) / (num - 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "601102ff",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "对于 `np.linspace(-5, 5, 100)`：\n",
    "\n",
    "间距 = (5 - (-5)) / (100 - 1) = 10 / 99 ≈ 0.10101"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0f99e03a",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "### 如何控制间距：\n",
    "1. **通过 `num` 参数控制间距**：\n",
    "   - 增加 `num` 的值会使间距变小。\n",
    "   - 减少 `num` 的值会使间距变大。\n",
    "\n",
    "2. **直接指定间距**：\n",
    "   如果需要直接指定间距，可以使用 `np.arange(start, stop, step)`，其中 `step` 是间距。例如：\n",
    "   ```python\n",
    "   x = np.arange(-5, 5, 0.1)  # 间距为 0.1\n",
    "   ```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "42842c24",
   "metadata": {},
   "source": [
    "**-----------以上是代码解释--------------**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "addc8d30",
   "metadata": {},
   "source": [
    "期望输出 \n",
    "\n",
    "` (100,  0.030864654760573856)  `\n",
    "\n",
    "实现高斯分布函数之后，我们可以使用 Matplotlib 绘制出不同参数下的高斯分布图像。 \n",
    "\n",
    "Exercise 15.2 \n",
    "\n",
    "挑战：按规定的参数绘制高斯分布图像。 \n",
    "\n",
    "规定： \n",
    "\n",
    "  * 绘制 4 组高斯分布线形图像，  $\\mu$  和  $\\sigma$  分别为： ` (0,  1),  (-1,  2),  (1,  0.5),  (0.5,  5)  ` 。 \n",
    "\n",
    "  * 4 组高斯分布图像的线形颜色分别为红色、蓝色、绿色、黄色。 \n",
    "\n",
    "  * 绘制图例，并以  $u=\\sigma$  样式呈现。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c9bf6a55",
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "## 代码开始 ### (≈ 5~10 行代码)\n",
    "\n",
    "## 代码结束 ###"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30f0e142",
   "metadata": {
    "lines_to_next_cell": 0
   },
   "source": [
    "参考答案  Exercise 15.2 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f89864cb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1f698287910>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "### 代码开始 ### (≈ 5~10 行代码)\n",
    "y_1 = Gaussian(x, 0, 1)\n",
    "y_2 = Gaussian(x, -1, 2)\n",
    "y_3 = Gaussian(x, 1, 0.5)\n",
    "y_4 = Gaussian(x, 0.5, 5)\n",
    "\n",
    "plt.figure(figsize=(8,5))\n",
    "plt.plot(x, y_1, c='r', label=\"u=0, d=1\")\n",
    "plt.plot(x, y_2, c='b', label=\"u=-1, d=2\")\n",
    "plt.plot(x, y_3, c='g', label=\"u=1, d=0.5\")\n",
    "plt.plot(x, y_4, c='y', label=\"u=0.5, d=5\")\n",
    "plt.legend()\n",
    "### 代码结束 ###"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1f243b97",
   "metadata": {},
   "source": [
    "期望输出 \n",
    "\n",
    "![image](https://cdn.aibydoing.com/aibydoing/images/document-uid214893labid6671timestamp1531710933817.png)"
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "cell_metadata_filter": "-all",
   "main_language": "python",
   "notebook_metadata_filter": "-all"
  },
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
